package com.zbkj.crmeb.front.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 商品表
 * </p>
 *
 * @author Mr.Zhang
 * @since 2020-05-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ProductRequest对象", description="商品搜索")
public class ProductRequest implements Serializable {

    @ApiModelProperty(value = "商户表名")
    private String tableNameMp;
    
    @ApiModelProperty(value = "搜索关键字")
    private String keyword;

    @ApiModelProperty(value = "分类id")
    private Integer cid;

    @ApiModelProperty(value = "价格排序", allowableValues = "range[asc,desc]")
    private String priceOrder;

    @ApiModelProperty(value = "销量排序", allowableValues = "range[asc,desc]")
    private String salesOrder;

    @ApiModelProperty(value = "是否新品")
    private Boolean news;

    @ApiModelProperty(value = "品牌id")
    private Integer brandId;

    @ApiModelProperty(value = "品牌ids")
    private String brandIds;

    @ApiModelProperty(value = "发货地")
    private String stockArea;

    @ApiModelProperty(value = "分类CIDS")
    private String cids;

    @ApiModelProperty(value = "是否小编推荐")
    private Boolean isBest = null;

    @ApiModelProperty(value = "是否热门")
    private Boolean isHot = null;

    @ApiModelProperty(value = "是否优惠")
    private Boolean isBenefit = null;

    @ApiModelProperty(value = "是否是意大利商品")
    private Boolean isEurope = null;

    @ApiModelProperty(value = "是否易时尚商品")
    private Boolean merUse = null;

    @ApiModelProperty(value = "最低价")
    private BigDecimal minPrice ;

    @ApiModelProperty(value = "最高价")
    private BigDecimal maxPrice ;

    @ApiModelProperty(value = "尺码")
    private String attrs ;

    @ApiModelProperty(value = "barCode")
    private String barCode ;

    @ApiModelProperty(value = "专区id")
    private Integer zoneId;

    @ApiModelProperty(value = "bannerid")
    private Integer bannerId;

    @ApiModelProperty(value = "minBarCode")
    private Integer minBarCode ;
    @ApiModelProperty(value = "maxBarCode")
    private Integer maxBarCode ;

    @ApiModelProperty(value = "merId")
    private Integer merId ;

    @ApiModelProperty(value = "shopId")
    private Integer shopId ;

    public List<Integer> showIds;

    @ApiModelProperty(value = "最小折扣")
    private Double minDiscount;

    @ApiModelProperty(value = "最大折扣")
    private Double maxDiscount;

    @ApiModelProperty(value = "折扣排序", allowableValues = "range[asc,desc]")
    private String discountSort;

    @ApiModelProperty(value = "品牌IDs")
    private List<String> brandIdList;

    @ApiModelProperty(value = "供应商列表字符串")
    private String suppliersIds;
    
    @ApiModelProperty(value = "供应商列表")
    private List<String> suppliersIdList;

    @ApiModelProperty(value = "发货地")
    private List<String> tempIdList;

    @ApiModelProperty(value = "用户优惠券id")
    private Integer userCouponId;

    @ApiModelProperty(value = "专区商品类型（1：出售中（已上架），2：仓库中（未上架）")
    private Integer zoneProductType;

    @ApiModelProperty(value = "季节")
    private String season;

    @ApiModelProperty(value = "分类cateIdList")
    private  List<String> cateIdList;

    @ApiModelProperty(value = "不可见分类id集合",hidden = true)
    private List<Integer> invisibleCateIds;

    @ApiModelProperty(value = "检索条形码")
    private String selfSourceSkuId;
}
